View Issue Details

IDProjectCategoryView StatusLast Update
0001850T99X171.00 SKB EagleSWpublic2023-12-22 08:50
Reporter(ALTech) Sangmin Choi Assigned To(ALTech) Sangmin Choi Due Date
PrioritynormalSeveritys4-minorReproducibilityN/A
Status closedResolutionwon't fix 
Summary0001850: About sending PPCP from STB
DescriptionI got the issue from RCU vendor.
The issue is the PPCP has updated as (11.25ms, 133, 10) although the RCU sets the PPCP as (11.25, 266, 10).
https://jira.skbroadband.com/browse/NEXTRCU-32

I found the below commit.

$ packages/apps/Bluetooth
$ git show c8591cf4b5abc3f0ee77452f21692955933366b3
commit c8591cf4b5abc3f0ee77452f21692955933366b3
Author: kerwin <kerwin.chen@foxconn.com>
Date: Fri Jul 31 18:06:46 2020 +0800

    fix voice audio data drop issue-v2

diff --git a/src/com/android/bluetooth/gatt/GattService.java b/src/com/android/bluetooth/gatt/GattService.java
index 8a3a1aaf..9745fb76 100644
--- a/src/com/android/bluetooth/gatt/GattService.java
+++ b/src/com/android/bluetooth/gatt/GattService.java
@@ -182,6 +182,14 @@ public class GattService extends ProfileService {
     private AppOpsManager mAppOps;

     private static GattService sGattService;
+ /* vas added start*/
+ static final String RTK_DEVICES [] = {
+ "BMM_BA02",
+ "BRM_BA02",
+ "BMM_BT11",
+ "BRM_BT11"
+ };
+ /* vas added end*/

     /**
      * Reliable write queue
@@ -1145,6 +1153,20 @@ public class GattService extends ProfileService {
         if (app != null) {
             app.callback.onClientConnectionState(status, clientIf,
                     (status == BluetoothGatt.GATT_SUCCESS), address);
+
+ /* vas added start*/
+ BluetoothDevice device = mAdapter.getRemoteDevice(address);
+ if((device != null) && (app.name.indexOf("android.uid.system") != -1) ){
+ String name = device.getName();
+ Log.e(TAG, " name: " + name);
+ for (String devName : RTK_DEVICES) {
+ if (name.indexOf(devName) != -1) {
+ Log.e(TAG, "onClientConnected() connId=" + connId + " send connection update");
+ leConnectionUpdate(clientIf, address, 9, 9, 133, 1000, 0, 8); /* 9*1.25 = 11.25ms, 133, 10s supervision timeout, min_ce 0, max_ce 8 */
+ }
+ }
+ }
+ /* vas added end*/
         }
     }

Q1.
Why STB send the PPCP by force?

Q2.
If RCU sets the PPCP, can this commit(c8591cf4) be removed?

Q3.
It's very old commit, but could you please let me know what is the voice audio data drop issue?
TagsNo tags attached.
Attach Tags

Activities

(ALTech) Sangmin Choi

2023-12-20 09:07

developer   ~0014777

Hello, Jason,

Could you please check this ticket?

Thank you.
Sangmin Choi.

(SW) Jason Ling

2023-12-20 09:52

developer   ~0014778

Hi Sangmin,

We don't know what PPCP is, this issue is related to audio drop issue when using NUGU.

Previously, we found this issue, but the RCU vendor (RCU FW) and BT Vendor (BT FW) did not support us to fix it on their side, so we fix it by updating Ble connection parameters .

Thanks,
Jason

(ALTech) Sangmin Choi

2023-12-20 10:16

developer   ~0014779

Hello, Jason,

so we fix it by updating Ble connection parameters .
-> the Ble connection parameters updated by FXN is PPCP(Peripheral Preferred Connection Parameter).

The problem is
   The PPCP received from RCU was not applied because the STB update the PPCP.

I think there are following ways to fix this issue.

#1
Remove sending PPCP from STB.(remove the commit related with c8591cf4)
Check the PPCP is set correctly using all SKB RCUs.
Check there is no voice audio data drop or not.

#2
Maintain the commit related with c8591cf4.
And, if the RCU send the PPCP, then the PPCP which is set by STB(11.25ms, 133, 10) should be changed to the value from RCU.

Could you please review above items?
And, please let me know how can you fix this issue.

Thank you.
Sangmin Choi.

(SW) Jason Ling

2023-12-20 14:47

developer   ~0014784

Last edited: 2023-12-20 15:36

Hi Sangmin,

I checked the whole story, in Android 9 development,
We found that sometimes NUGU didn't recognize our words correctly.
But user can not found this issue easily, because the User can see the nugu UI capture user's word (reproduce rate is low)

so we use a recorder apps to record audio and check packet from the RCU's mic,
After analysis, it was found that the audio data packets were discontinuous.

At that time, It's hard to push the RCU vendor and BT chip vendor to fix it.
And changing BT FW has greater risk => affecting the whole system.
so we added special case (only apply for these RCUs) to update some connection parameters.

Have you got new RCU FW support PPCP (11.25, 266, 10)?
if so, you can remove our patch for testing

But our concerns are as follows,
1. How can SKB confirm the field RCU FW upgrade to the same version?
2. We checked the function leConnectionUpdate, we found that RCU vendor want to update the peripheralLatency from 133 to 266,
This means peripheralLatency will be longer than before. Packages may not arrive on time.

Thanks,
Jason

(ALTech) Sangmin Choi

2023-12-20 15:41

developer   ~0014785

Hello, Jason,

1. How can SKB confirm the field RCU FW upgrade to the same version?
  -> It can't be guarantee usually.
2. We checked the function leConnectionUpdate, we found that RCU vendor want to update the peripheralLatency from 133 to 266,
This means peripheralLatency will be longer than before. Packages may not arrive on time.
  -> I think if there is any issue due to change PPCP, it's RCU vendor's issue.

It's not easy to decide how to fix it.

so we use a recorder apps to record audio and check packet from the RCU's mic,
After analysis, it was found that the audio data packets were discontinuous.
  -> Could you please provide this app? Or, please provide any way to check it.
       I want to check how many packets are missed.
       I will test under changing the PPCP values. And, I can discuss with SKB manager with test result.

Thank you.
Sangmin Choi.

(SW) Jason Ling

2023-12-20 16:05

developer   ~0014787

Hi Sangmin,

It's hard to check how many packets are missed.
We used recorder apps before, and found that audio data packets were discontinuous.
Then we used Air sniffer to check the BT packet loss problem, but now we don't have this equipment (Air sniffer).

Thanks,
Jason

(ALTech) Wooshin Kang

2023-12-21 08:46

developer   ~0014790

Hi Jason,

We don't know how to solve below item in current status.

" The problem is
   The PPCP received from RCU was not applied because the STB update the PPCP."

Please share your idea.

thanks.

(SW) Jason Ling

2023-12-21 09:40

developer   ~0014793

Hi Wooshin,

I don't know why the RCU vendor want to change the PPCP now?
Is the current PPCP has problem ?

Based on my comment, we fixed it by ourselves before, and only applied for these RCU (minimum modification) .
Because we think it was hard to push the RCU Vendor/BT Chip vendor. (and modified the BT FW has more potential risk)

if the RCU vendor want to fix it now, I think you can revert it, and make a test firmware to the RCU.
As far as I now, I think the RCU vendor has air sniffer, they can analyze if there are any packets drop in the air (during transmission)

Thanks,
Jason

(ALTech) Sangmin Choi

2023-12-22 08:49

developer   ~0014803

Hello, Jason,

There is a risk to revert your commit because Eagle has operated long time without issue.
And, RCU vendor don't have plan to change PPCP for old RCUs.

So, please don't add the new RCU to RTK_DEVICES for the future.

Thank you.
Sangmin Choi.

Issue History

Date Modified Username Field Change
2023-12-20 09:06 (ALTech) Sangmin Choi New Issue
2023-12-20 09:06 (ALTech) Sangmin Choi Status new => assigned
2023-12-20 09:06 (ALTech) Sangmin Choi Assigned To => (SW) Jason Ling
2023-12-20 09:07 (ALTech) Sangmin Choi Note Added: 0014777
2023-12-20 09:07 (ALTech) Sangmin Choi Issue Monitored: (ALTech) Younkwang Jung
2023-12-20 09:07 (ALTech) Sangmin Choi Issue Monitored: (ALTech) JunGyu Kim
2023-12-20 09:07 (ALTech) Sangmin Choi Issue Monitored: (ALTech) Wooshin Kang
2023-12-20 09:07 (ALTech) Sangmin Choi Description Updated
2023-12-20 09:52 (SW) Jason Ling Note Added: 0014778
2023-12-20 09:52 (SW) Jason Ling Assigned To (SW) Jason Ling => (ALTech) Sangmin Choi
2023-12-20 10:16 (ALTech) Sangmin Choi Note Added: 0014779
2023-12-20 10:16 (ALTech) Sangmin Choi Assigned To (ALTech) Sangmin Choi => (SW) Jason Ling
2023-12-20 14:47 (SW) Jason Ling Note Added: 0014784
2023-12-20 14:47 (SW) Jason Ling Assigned To (SW) Jason Ling => (ALTech) Sangmin Choi
2023-12-20 14:48 (SW) Jason Ling Issue Monitored: (SW) Jacky Chiang
2023-12-20 14:48 (SW) Jason Ling Issue Monitored: (SW) Kerwin Chen
2023-12-20 14:52 (SW) Jason Ling Note Edited: 0014784
2023-12-20 15:36 (SW) Jason Ling Note Edited: 0014784
2023-12-20 15:41 (ALTech) Sangmin Choi Note Added: 0014785
2023-12-20 15:41 (ALTech) Sangmin Choi Assigned To (ALTech) Sangmin Choi => (SW) Jason Ling
2023-12-20 16:05 (SW) Jason Ling Note Added: 0014787
2023-12-20 16:05 (SW) Jason Ling Assigned To (SW) Jason Ling => (ALTech) Sangmin Choi
2023-12-21 08:44 (ALTech) Wooshin Kang Issue Monitored: (ALTech) SY Yoon
2023-12-21 08:46 (ALTech) Wooshin Kang Note Added: 0014790
2023-12-21 09:40 (SW) Jason Ling Note Added: 0014793
2023-12-22 08:49 (ALTech) Sangmin Choi Note Added: 0014803
2023-12-22 08:50 (ALTech) Sangmin Choi Status assigned => closed
2023-12-22 08:50 (ALTech) Sangmin Choi Resolution open => won't fix